View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001271 | T99X171.00 SKB Eagle | SW | public | 2021-06-09 11:04 | 2021-12-23 17:09 |
| Reporter | (SW) Bcan Yeh | Assigned To | (SW) Bcan Yeh | Due Date | |
| Priority | normal | Severity | s2-severe | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Summary | 0001271: [ATT] Apply MW API to UHD4/Smart3 | ||||
| Description | Check if the two function is implemented or not ISSUE: When each manufacturer implements ATT (Logistics Center Set-Top Normal Status Determination Tool) authentication/factory initialization, there are manufacturers that are implementing their own, including UHD set-top groups, a lot. Function: 1.Authentication initialization API: certificationInit(), 2. Factory initialization API: factoryReset(), | ||||
| Tags | No tags attached. | ||||
| Attach Tags | |||||
| User List |
(ALTech) JunGyu Kim , (ALTech) SY Yoon , |
|---|
|
|
Copy from Google Doc ------------------------------------------------------------------ 6/8 [ALT]Pls, Check the two function is implemented on the ATT app [FXN] 1. FXN uses initCertification API for revoking authentication. 2. FXN uses Android Native factoryReset function. [ALT] 1)ATT needs to use factoryReset() API provided by MD, such as .. Authentication Initialization API : certificationInit(), Factory Reset API : factoryReset(), 2)Does the UHD4 workd same with Smart3? [FXN] 1. We will replace factoryReset(). 2. Yes. UHD4 and Smart3 use the same functions. [ALT] 1. When is the target date? [FXC] 1.6/09(Wed), 2.For preventing confusion UHD4: use original way Smart3: use original way Swan: use API 6/09 [FXC] API is applied in SWAN. [ALT] need patch info for UHD4 / Smart3 [FXC] If UHD4 and Smart3 are needed to apply these APIs. 1. Are these APIs are available in all UHD4/Smart3 FW version ? --> It is available for Smart3 , not sure for UHD4 2. If the answer is no, please tell us what FW version of UHD4/Smart3 these APIs are available from. --> can you let us know which API UDH4 uses for those two functions? |
|
|
It is available for Smart3 , not sure for UHD4 => 1. For Smart3, we will apply these APIs. 2. For UHD4, We can not go through every FW version for checking if these APIs works or not. Please provide a specific version for applying this if you want. can you let us know which API UDH4 uses for those two functions? => 1. UHD4/Smart3 revoke authentication: rm -rf /btv_home/config 2. UHD4/Smart3 factoryReset: Intent resetIntent = new Intent(Intent.ACTION_FACTORY_RESET); resetIntent.setPackage("android"); resetIntent.setFlags(Intent.FLAG_RECEIVER_FOREGROUND); resetIntent.putExtra(Intent.EXTRA_REASON, "ResetConfirmFragment"); ctx.sendBroadcast(resetIntent); |
|
|
Hi Mr.Jung, Could you provide a guide for how to use TVS's APIs and the related jar file. |
|
|
Hi Mr.Jung, More information about 2. UHD4/Smart3 factoryReset: Intent resetIntent = new Intent(Intent.ACTION_FACTORY_RESET); resetIntent.setPackage("android"); resetIntent.setFlags(Intent.FLAG_RECEIVER_FOREGROUND); resetIntent.putExtra(Intent.EXTRA_REASON, "ResetConfirmFragment"); ctx.sendBroadcast(resetIntent); => A. This is Android Native code to trigger factoryReset. It is a basic function of android. B. You can find the code in packages/apps/TvSettings/Settings/src/com/android/tv/settings/device/storage/ResetActivity.java. It's about line 139 of the java file and under the function onGuidedActionClicked(). |
|
|
HI Bcan I am attaching the jar file and guide document for UHD4 The example code is as follows: ============================================== TVContextManager tvContextManager = null; ITVService tvService = null; TVSystem tvSystem = null; tvContextManager = TVContextManager.getInstance(this); tvService = tvContextManager.getService(ITVService.TVSystem); tvSystem = (TVSystem)tvService; tvSystem.getSystem().factoryReset(); tvSystem.getSystem().certificationInit(); ============================================== Please implement the function in UHD4 with this information. Thank you YK.Jung |
|
|
Hi Mr.Jung, After applying TVS's API, I tested is on Smart3(Android 9) and UHD4. Both of them don't work. It returns null while invoking tvSystem.getSystem(). Could you confirm if Smart3(Android 9) and UHD4 support these APIs or not ? |
|
|
Hi Bcan In common with all models, the APIs must be worked. Please check it again. Thank you YK.Jung |
|
|
Hi Mr.Jung, I checked it again. It doesn't work. 1.My Code Log.i(TAG,"==========>TVS lib check 1"); TVContextManager tvContextManager = TVContextManager.getInstance(this); ITVService tvService = tvContextManager.getService(ITVService.TVSystem); tvs_tvSystem = (TVSystem)tvService; if(tvs_tvSystem==null) Log.i(TAG,"==========>TVS lib check 2-1, null"); else { Log.i(TAG, "==========>TVS Jar check 2-2, not null"); boolean reb = tvs_tvSystem.isConnected(); Log.i(TAG, "==========>TVS Jar check 2-3, isconnected="+reb); } Log.i(TAG, "==========>TVS Jar check 3, getSystem="+tvs_tvSystem.getSystem()); 2. Log of UHD4 (k000a-r52006) 01-01 09:01:49.566 5088 5088 I AttService: ==========>TVS lib check 1 01-01 09:01:49.588 5088 5088 I AttService: ==========>TVS Jar check 2-2, not null 01-01 09:01:49.589 5088 5088 I AttService: ==========>TVS Jar check 2-3, isconnected=false 01-01 09:01:49.589 5088 5088 I AttService: ==========>TVS Jar check 3, getSystem=null 3. Log of Smart3(Android 9) (k000a-520r100) 06-16 09:00:29.915 7017 7017 I AttService: ==========>TVS lib check 1 06-16 09:00:29.949 7017 7017 I AttService: ==========>TVS Jar check 2-2, not null 06-16 09:00:29.950 7017 7017 I AttService: ==========>TVS Jar check 2-3, isconnected=false 06-16 09:00:29.950 7017 7017 I AttService: ==========>TVS Jar check 3, getSystem=null |
|
|
Hi bcan TVS said : you build the app including TVContextManager. but TVContextManager must be registered as a system library. Please refer to the relevant document and check it. Thank you YK.Jung |
|
|
Hi Mr.Jung, According the document TVS-ANDROID-TVP-DOC-001_TVSystemService 사용 어플리케이션 개발.docx I modified the gradle configuration from dependencies { implementation files('libs/tvcontextmanager.jar') } to dependencies { provided files('libs/tvcontextmanager.jar') } and it doesn't work. Below is the related log after applying the modification. 1. UHD4 (k000a-r52006) 01-01 09:00:33.876 4605 4605 I AttService: onCreate() 01-01 09:00:33.878 4605 4605 I AttService: ==========>TVS lib check 1 01-01 09:00:33.878 4605 4605 D AndroidRuntime: Shutting down VM 01-01 09:00:33.879 3251 3270 I ActivityManager: Start proc 4630:com.vasott.manufacturetest/1000 for broadcast com.vasott.manufacturetest/.MtReceiver 01-01 09:00:33.879 4605 4605 E AndroidRuntime: FATAL EXCEPTION: main 01-01 09:00:33.879 4605 4605 E AndroidRuntime: Process: com.vasott.attdaemon, PID: 4605 01-01 09:00:33.879 4605 4605 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/tvstorm/tv/TVContextManager; 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at com.vasott.attdaemon.AttService.onCreate(AttService.java:108) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at android.app.ActivityThread.handleCreateService(ActivityThread.java:3533) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at android.app.ActivityThread.access$1300(ActivityThread.java:200) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1667) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6680) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tvstorm.tv.TVContextManager" on path: DexPathList[[zip file "/data/app/com.vasott.attdaemon-Yj0rdDNQlKXjV-ReIIx6bQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.vasott.attdaemon-Yj0rdDNQlKXjV-ReIIx6bQ==/lib/arm, /data/app/com.vasott.attdaemon-Yj0rdDNQlKXjV-ReIIx6bQ==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]] 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 01-01 09:00:33.879 4605 4605 E AndroidRuntime: ... 10 more 2. Smart3(Android 9) (k000a-520r100) 01-01 09:03:34.815 5745 5745 I AttService: onCreate() 01-01 09:03:34.821 5745 5745 I AttService: ==========>TVS lib check 1 01-01 09:03:34.821 5745 5745 D AndroidRuntime: Shutting down VM 01-01 09:03:34.822 5745 5745 E AndroidRuntime: FATAL EXCEPTION: main 01-01 09:03:34.822 5745 5745 E AndroidRuntime: Process: com.vasott.attdaemon, PID: 5745 01-01 09:03:34.822 5745 5745 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/tvstorm/tv/TVContextManager; 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at com.vasott.attdaemon.AttService.onCreate(AttService.java:108) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at android.app.ActivityThread.handleCreateService(ActivityThread.java:3533) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at android.app.ActivityThread.access$1300(ActivityThread.java:200) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1667) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6680) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tvstorm.tv.TVContextManager" on path: DexPathList[[zip file "/data/app/com.vasott.attdaemon-sq6KrZTvtAfD6CZawUvDgg==/base.apk"],nativeLibraryDirectories=[/data/app/com.vasott.attdaemon-sq6KrZTvtAfD6CZawUvDgg==/lib/arm, /data/app/com.vasott.attdaemon-sq6KrZTvtAfD6CZawUvDgg==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]] 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 01-01 09:03:34.822 5745 5745 E AndroidRuntime: ... 10 more |
|
|
Hi Bcan Please check if AndroidManifest.xml contains the contents of using tvcontmanager as below. AndroidManifest.xml : <uses-library android:name="tvcontextmanager" android:required="false" /> Thank you YK.Jung |
|
|
Hi Mr.Jung, I didn't add <uses-library android:name="tvcontextmanager" android:required="false" /> in AndroidManifest.xml. After adding it, API still can't work. Please refer to the log below. 1. UHD4 (k000a-r52006) 01-01 09:03:28.250 5101 5101 I AttService: ==========>TVS lib check 1 01-01 09:03:28.272 5101 5101 I AttService: ==========>TVS Jar check 2-2, not null 01-01 09:03:28.274 5101 5101 I AttService: ==========>TVS Jar check 2-3, isconnected=false 01-01 09:03:28.274 5101 5101 I AttService: ==========>TVS Jar check 3, getSystem=null 2. Smart3(Android 9) (k000a-520r100) 06-16 09:01:17.664 7071 7071 I AttService: onCreate() 06-16 09:01:17.665 7071 7071 I commFuncs: ===>getDeviceModel: BFX-AT100 06-16 09:01:17.665 7071 7071 I commFuncs: ===>getDeviceModel: BFX-AT100 06-16 09:01:17.665 7071 7071 I AttService: ==========>TVS lib check 1 06-16 09:01:17.694 7071 7071 I AttService: ==========>TVS Jar check 2-2, not null 06-16 09:01:17.697 7071 7071 I AttService: ==========>TVS Jar check 2-3, isconnected=false 06-16 09:01:17.697 7071 7071 I AttService: ==========>TVS Jar check 3, getSystem=null |
|
|
HI Bcan Could you check "2.6.1 TVSystemService Connection" on Guide doc? TVsystem service connection example source, which must be applied. Please check it Thank you YK.Jung |
|
|
|
|
|
Hi Mr.Jung, After applying the code from 2.6.1 of the document, it can't be compiled. 1. ITVService.SystemFramework is not found. 2. TVSystem tvSystem = (TVSystemFramework) tvService; It seems not to be a correct type casting. Could you provide a workable sample code ? |
|
|
Hi Bcan I'm forwarding you the files I received from TVS. application source : tvsystemservicetest_src.zip apk : tvsystemservicetest-debug.apk.zip app start : adb shell am start -n com.tvstorm.android.systemframework.test/.TVSystemTestActivity When you start the app , connect to the TV system service immediately. Please check it and let me know the results. Thank you YK.Jung |
|
|
Hi Mr.Jung, After referring to the sample code, 1. The TvSystem Service could be connected. 2. The API certificationInit() does not work as expected. (UHD4/Smart3) It revokes authentication and then reboots the device. Rebooting is not an action we expected. Please check the attached picture. |
|
|
|
|
|
Hi Mr.Jung, About the rebooting from certificationInit(), please refer to line 9622 of the attached log file. --------------------------------------------------------------------------------------------------------------------------------------- 01-01 09:01:18.909 5802 5802 I AttService: Got com.vasott.attdaemon.test10 01-01 09:01:18.909 5802 5802 I commFuncs: ===>getDeviceModel: BFX-AT100 01-01 09:01:18.909 5802 5802 I commFuncs: ===>getDeviceModel: BFX-AT100 01-01 09:01:18.909 4008 4030 D TVSystemAdapterBase: certificationInit() 01-01 09:01:18.911 5802 5802 I AttService: TVS initCertification=true 01-01 09:01:18.911 5802 5802 I commFuncs: ===>revokeAuthFile 01-01 09:01:18.911 5802 5802 I commFuncs: [/system/bin/sh, -c, rm -rf /btv_home/config;sync;] 01-01 09:01:18.911 3257 3274 D ShutdownThread: Notifying thread to start shutdown longPressBehavior=1 01-01 09:01:18.912 3257 3274 D ShutdownThread: Attempting to use SysUI shutdown UI --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
Hi Bcan TVS says it will automatically reboot after the certificationInit() call. Your code is working normally. Thank you YK.Jung |
|
|
Hi Mr. Bcan Yeh, As far as I know, ATT Scenario is reboot after revoke authentication. Is there any issue on this function ? In case of Sptek case, is it different ? |
|
|
Hi Mr.Jung TVS says it will automatically reboot after the certificationInit() call. => So the certificationInit() function has different behaviors between TVS's and SPTek's. |
|
|
Hi Mr.Yoon, As far as I know, ATT Scenario is reboot after revoke authentication. Is there any issue on this function ? => According to the ATT flow, there are 2 timing points those revoke authentication. At the first timing point, AttDaemon is installed (updated) with inserting usb disk. It will do some initializing actions including revoke authentication and blink green light. The test people notices green light and then removes the usb disk. Only when the usb disk is removed, the box will be rebooted. The TVS's API reboot immediately, there will be no green light blinking. In case of Sptek case, is it different ? => certificationInit() of TVS: It triggers rebooting immediately. certificationInit() of SPTek: It will not trigger rebooting. |
|
|
Close this issue |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2021-06-09 11:04 | (SW) Bcan Yeh | New Issue | |
| 2021-06-09 11:05 | (SW) Bcan Yeh | Note Added: 0007403 | |
| 2021-06-09 11:06 | (SW) Bcan Yeh | Assigned To | => (SW) Bcan Yeh |
| 2021-06-09 11:06 | (SW) Bcan Yeh | Status | new => assigned |
| 2021-06-09 12:10 | (SW) Bcan Yeh | Note Added: 0007405 | |
| 2021-06-09 12:13 | (SW) Bcan Yeh | Assigned To | (SW) Bcan Yeh => (ALTech) Younkwang Jung |
| 2021-06-09 14:48 | (SW) Bcan Yeh | Note Added: 0007409 | |
| 2021-06-09 16:06 | (SW) Bcan Yeh | Note Added: 0007414 | |
| 2021-06-15 12:01 | (ALTech) Younkwang Jung | File Added: tvcontextmanager_UHD4_20210615.zip | |
| 2021-06-15 12:01 | (ALTech) Younkwang Jung | File Added: TVS-ANDROID-TVP-DOC-001_TVSystemService 사용 어플리케이션 개발.docx | |
| 2021-06-15 12:01 | (ALTech) Younkwang Jung | Note Added: 0007462 | |
| 2021-06-17 10:39 | (SW) Bcan Yeh | Note Added: 0007484 | |
| 2021-06-17 15:08 | (ALTech) Younkwang Jung | Note Added: 0007487 | |
| 2021-06-17 19:18 | (SW) Bcan Yeh | Note Added: 0007490 | |
| 2021-06-17 19:20 | (SW) Bcan Yeh | Note Edited: 0007490 | |
| 2021-06-17 19:23 | (SW) Bcan Yeh | Note Edited: 0007490 | |
| 2021-06-22 10:34 | (ALTech) Younkwang Jung | Issue Monitored: (SW) Brent Choi | |
| 2021-06-22 10:34 | (ALTech) Younkwang Jung | Issue Monitored: (ALTech) SY Yoon | |
| 2021-06-22 10:34 | (ALTech) Younkwang Jung | Issue Monitored: (ALTech) JunGyu Kim | |
| 2021-06-22 10:36 | (ALTech) Younkwang Jung | Note Added: 0007515 | |
| 2021-06-23 16:31 | (SW) Bcan Yeh | Note Added: 0007542 | |
| 2021-06-24 08:54 | (ALTech) Younkwang Jung | Note Added: 0007546 | |
| 2021-06-24 15:07 | (SW) Bcan Yeh | Note Added: 0007550 | |
| 2021-06-25 09:40 | (ALTech) Younkwang Jung | File Added: connection.png | |
| 2021-06-25 09:40 | (ALTech) Younkwang Jung | Note Added: 0007552 | |
| 2021-06-28 15:40 | (SW) Bcan Yeh | File Added: 1624865216559.jpg | |
| 2021-06-28 15:40 | (SW) Bcan Yeh | File Added: 1624865250168.jpg | |
| 2021-06-28 15:40 | (SW) Bcan Yeh | Note Added: 0007563 | |
| 2021-06-29 10:04 | (ALTech) Younkwang Jung | File Added: tvsystemservicetest_src.zip | |
| 2021-06-29 10:04 | (ALTech) Younkwang Jung | File Added: tvsystemservicetest-debug.apk.zip | |
| 2021-06-29 10:04 | (ALTech) Younkwang Jung | Note Added: 0007572 | |
| 2021-06-29 16:25 | (SW) Bcan Yeh | File Added: S__154042370.jpg | |
| 2021-06-29 16:25 | (SW) Bcan Yeh | Note Added: 0007576 | |
| 2021-06-29 16:28 | (SW) Bcan Yeh | Note Edited: 0007576 | |
| 2021-06-29 16:33 | (SW) Bcan Yeh | Note Edited: 0007576 | |
| 2021-06-30 14:26 | (SW) Bcan Yeh | File Added: Att_log_20210630.log | |
| 2021-06-30 14:26 | (SW) Bcan Yeh | Note Added: 0007588 | |
| 2021-06-30 18:22 | (ALTech) Younkwang Jung | Note Added: 0007590 | |
| 2021-06-30 19:02 | (ALTech) SY Yoon | Note Added: 0007591 | |
| 2021-07-01 09:49 | (SW) Bcan Yeh | Note Added: 0007593 | |
| 2021-07-01 10:16 | (SW) Bcan Yeh | File Added: 1625104673571.jpg | |
| 2021-07-01 10:16 | (SW) Bcan Yeh | Note Added: 0007594 | |
| 2021-12-23 17:08 | (SW) Bcan Yeh | Assigned To | (ALTech) Younkwang Jung => (SW) Bcan Yeh |
| 2021-12-23 17:09 | (SW) Bcan Yeh | Status | assigned => closed |
| 2021-12-23 17:09 | (SW) Bcan Yeh | Resolution | open => fixed |
| 2021-12-23 17:09 | (SW) Bcan Yeh | Note Added: 0009059 |



